package main

import (
	"blog/router"
	"fmt"
	"html/template"
	"runtime"

	library "gitee.com/xchengli/blog-lib"

	"github.com/gin-gonic/gin"
)

func main() {
	// 设置CPU核心数
	runtime.GOMAXPROCS(runtime.NumCPU())

	// 初始化框架
	library.Init()

	// 设置Gin模式
	gin.SetMode(gin.ReleaseMode)

	// 创建Gin引擎
	r := gin.Default()

	// 设置模板函数 - 使用 library 中的模板函数
	r.SetFuncMap(template.FuncMap(library.GetTemplateFuncs()))

	// 设置模板引擎
	r.LoadHTMLGlob("templates/*.html")

	// 初始化路由
	router.InitRouter(r)

	// 获取配置
	config := library.GetConfig()
	addr := fmt.Sprintf("%s:%s", config.Server.Host, config.Server.Port)

	// 启动服务器
	if err := r.Run(addr); err != nil {
		fmt.Println("Failed to start server", err)
	}
}
